package com.xblog.chatbox.vlmp.core;

import io.swagger.v3.oas.annotations.Hidden;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Builder;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;

/**
 * @description:
 * @author: xiaowu
 * @time: 2025/8/6 0:37
 */
@Getter
@Setter
@Builder
public class VlmpAgentFeedbacks implements Serializable {
    /**
     * 用户标识，用于定义终端用户的身份，方便检索、统计。 由开发者定义规则，需保证用户标识在应用内唯一。服务 API 不会共享 WebApp 创建的对话。
     */
    private String user;

    /**
     * 消息ID
     */
    @Schema(description = "消息ID")
    @Hidden
    private String messageId;

    @Schema(description = "会话Id")
    @Hidden
    private String conversationId;

    @Schema(description = " 是否点赞 点赞 like, 点踩 dislike,默认 rating")
    private String rating;

    /**
     * * 00:对回答结果满意
     * * 01:没能理解指令（提示词理解错误）
     * * 02：未发现问题中的错误
     * * 03：无法理解上下文
     * * 04：答非所问
     * * 11：有事实性错误（信息不准确）
     * * 12：回答有重复
     * * 13：回答逻辑混乱（逻辑错误）
     * * 14：答案格式错误（格式问题）
     * * 15：回答对我没有帮助（内容质量问题）
     * * 16：（内容不完整）
     * * 21：敏感/有害信息（不当内容、隐私泄露）
     * * 22：存在价值观问题（偏见与歧视）
     */
    @Schema(description = "状态")
    private String status;

    /**
     * 提示词
     */
    @Schema(description = "提示词")
    @Hidden
    private String prompt;
    /**
     * 回复内容
     */
    @Schema(description = "回复内容")
    @Hidden
    private String answer;

    /**
     * 备注信息
     */
    @Schema(description = "备注信息")
    private String description;
}
